home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / doc / question.txt < prev    next >
Text File  |  1995-05-09  |  4KB  |  162 lines

  1.  
  2.  
  3.               Question Description Structures
  4.  
  5.                        Harry Morris morris@think.com
  6.             Jonathan Goldman jonathan@think.com
  7.                   3/2/91
  8.  
  9.  
  10. A "question description structure" is used by a client of the WAIS system
  11. to pose a query to a WAIS server.  This document describes a text encoding
  12. of the question description structure.  This specification is compatible
  13. with the clients that are given out with the WAIS release (version 8 and
  14. higher).  Example C code to read and write these structures is available
  15. free of charge from the authors.
  16.  
  17. Note that WAIS end users should never see this structure, since a typical
  18. user will use the questions created by a client, and interact with them
  19. through a client user interface.
  20.  
  21. Philosophy: -----------
  22.  
  23. Questions are the basic way a user interacts with a WAIS server.  We have
  24. found it useful to store the current state of a particular interaction
  25. (hereafter referred to simply as the question), so that it may be used
  26. later, either by the user explicitly, or by a smart client to submit
  27. requests to the server automatically.
  28.  
  29. The other fields are strictly optional.  Clients may choose to let the user
  30. store additional parameters in questions (eg. how to display the question).
  31. While not all clients may want or need all the optional fields, it is in
  32. everyone's best interest to have any particular function expressed in a
  33. single format that all can share.  The optional fields presented here are
  34. ones we have found useful.  If you have suggestions for fields that should
  35. be added to the specification, please contact the authors.
  36.  
  37. Clients and servers should always be prepared to ignore the non-required
  38. fields.
  39.  
  40. Question structure have four basic parts:
  41.  
  42. 1.  The search words upon which the question is based
  43. 2.  The sources to search
  44. 3.  Some documents that might be similar to the desired results.
  45. 4.  The resulting documents as returned from the sources.
  46. 5.  Optional fields
  47.  
  48. An example of a question structure:
  49.  
  50. (:question 
  51.  :version  1 
  52.  :seed-words "how do I use the wais system?"
  53.  :relevant-documents (  ) 
  54.  :sources 
  55.  ( (:source-id 
  56.     :filename "wais-docs" ) 
  57.    (:source-id
  58.     :filename "CMNS")
  59.  ) 
  60.  :result-documents  (  ) 
  61.  
  62. The first symbol in the structure must be :question, as this identifies the
  63. structure.  The rest of the symbols may appear in any order.  They are:
  64.  
  65.  
  66. Syntax:
  67. ------
  68.  
  69. See the syntax discussion in source.txt
  70.  
  71.  
  72. Fields:
  73. ------
  74.  
  75. :version <integer>  
  76. The number is the major version number of the question structure format.
  77. The current version is 2.  This must be the first slot.
  78.  
  79. :seed-words <string>
  80. These are the search keywords requested by the user.
  81.  
  82. :sources  <list>
  83. A (possibly empty) list of source-id structures.  Source-ids identify the
  84. sources which the question will use.  They point to a file containing a
  85. source structure (see source.txt).  They are defined as:
  86.  
  87.     (:source-id
  88.          :filename <string>
  89.     )
  90.  
  91. :relevant-documents <list>
  92. A (possibly empty) list of document-id structures.  They are documents
  93. which the user has selected as "relevant" to the query.  Some servers can
  94. use the information contained in relevant documents to drastically improve
  95. search performance.  They are defined below.
  96.  
  97. :result-documents <list>
  98. Another (possibly empty) list of document-id structures.  These constitute
  99. the answers provided to the question by the server(s) it refers to.
  100.  
  101. :sort-results-by <sort-type>
  102. A hint to the client as to how to sort the result documents for display.
  103. Sort-type is one of
  104.  
  105.     :score 
  106.     :date
  107.     :source - alphabetically
  108.  
  109. :window-geometry  <rect>
  110. The positioning of the question editing window (if there is one) in machine
  111. dependent units.  It is of the form
  112.     
  113.     (:rect  
  114.         :left    <integer>
  115.         :top      <integer>  
  116.         :right  <integer>  
  117.         :bottom <integer>
  118.         ) 
  119.  
  120.  
  121. Document-id Structure Definition:
  122. --------------------------------
  123.  
  124.  
  125. (:document-id
  126.     :score            <integer>
  127.     :start            <fragment>
  128.     :end            <fragment>
  129.     :document         <document>
  130.     )
  131.  
  132. (:fragment
  133.     either
  134.     :byte-pos        <integer>
  135.     or
  136.     :line-pos        <integer>
  137.     or
  138.     :para-id        <integer>
  139.     )
  140.  
  141. (:document
  142.     :headline         <string>
  143.     :doc-id         <doc-id>
  144.     :source         <source-id>
  145.     :number-of-lines     <integer>
  146.     :number-of-bytes     <integer>
  147.     :best-line         <integer>
  148.     :type             <string>
  149.     :date             <string>
  150.     )
  151.  
  152. (:doc-id
  153.     :original-server    <any>
  154.     :original-database    <any>
  155.     :original-local-id     <any>
  156.     :distributor-server    <any>
  157.     :distributor-database    <any>
  158.     :distributor-local-id     <any>
  159.     :copyright-disposition  <number> 
  160.     )
  161.